270 INPUT"Do you require pauses to change the paper? (Y/N) ",Y$:IF LEFT$(Y$,1)="Y" OR LEFT$(Y$,1)="y" THEN SHEETS=2 ELSE SHEETS=1
280 OPEN "I", #1, FILE$
290 LINE INPUT#1, THELIN$:IF EOF(1) THEN FLAG=1:GOTO 560
300 IF LEFT$(THELIN$,1)="\" THEN GOTO 440
310 ON DOUBLE GOTO 320,330
320 LPRINT CHR$(27) CHR$(71);:GOTO 340
330 LPRINT CHR$(27) CHR$(72);
340 IF PAGE=>STARTPAGE AND PAGE <=ENDPAGE THEN LPRINT TAB(N); ELSE 370
342 IF RIGHT$(THELIN$,1)=CHR$(13) OR RIGHT$(THELIN$,1)=CHR$(10) THEN THELIN$=LEFT$(THELIN$,LEN(THELIN$)-1)
345 ON NUMLIN GOTO 350,360
350 LPRINT USING FORMAT$; LINUMBER,THELIN$;:GOTO 370
360 LPRINT USING FORMAT$; THELIN$;
370 LINUMBER=LINUMBER+1:LINES=LINES+1:IF LINES=>PAGLEN THEN 380 ELSE 420
380 LINES=0:ON PAGING GOTO 390,400
390 IF PAGE=>STARTPAGE AND PAGE <=ENDPAGE THEN LPRINT:LPRINT TAB(INT((LINLEN+N)/2+4)) PAGE:PAGE=PAGE+1:LPRINT CHR$(12):GOTO 410:ELSE PAGE=PAGE+1:GOTO 410
400 IF PAGE=>STARTPAGE AND PAGE <=ENDPAGE THEN LPRINT CHR$(12):ELSE 420
410 IF SHEETS=2 THEN COLOR 18:LOCATE 14:INPUT"Change the Paper - - - Then Hit <ENTER> ",X$:COLOR 7:LOCATE 14:PRINT STRING$(50," "):GOSUB 850
420 IF FLAG=1 THEN END
430 GOTO 290
440 IF PAGE=>STARTPAGE AND PAGE <=ENDPAGE THEN 450 ELSE 370
450 IF MID$(THELIN$,2,1)="%" THEN LPRINT TAB(INT(N*PFACTOR));:THISLIN$=CHR$(27)+CHR$(71)+CHR$(27) CHR$(69)+MID$(THELIN$,3,LEN(THELIN$)-2):ON NUMLIN GOTO 460,470:ELSE 500
460 LPRINT USING FORMAT$;LINUMBER;THISLIN$:GOTO 480
470 LPRINT USING FORMAT$;THISLIN$
480 LPRINT CHR$(27) CHR$(70) CHR$(27) CHR$(72);:IF X=2 THEN LPRINT CHR$(15);
490 GOTO 370
500 IF MID$(THELIN$,2,1)="@" THEN LPRINT TAB(INT(N*PFACTOR));:THISLIN$=CHR$(27)+CHR$(71)+CHR$(15)+CHR$(14) + MID$(THELIN$,3,LEN(THELIN$)-2) + CHR$(20):ON NUMLIN GOTO 510,520:ELSE 550
510 LPRINT USING FORMAT$;LINUMBER,THISLIN$:GOTO 530
520 LPRINT USING FORMAT$;THISLIN$
530 LPRINT CHR$(18) CHR$(27) CHR$(72);:IF X=2 THEN LPRINT CHR$(15);
540 GOTO 370
550 IF MID$(THELIN$,2,1)="#" THEN 560 ELSE 580
560 IF PAGE=>STARTPAGE AND PAGE<=ENDPAGE THEN FOR I=LINES+1 TO PAGLEN:LPRINT:NEXT I
570 LINUMBER=LINUMBER+1:GOTO 380
580 IF MID$(THELIN$,2,1)="*" THEN THELIN$=MID$(THELIN$,3,LEN(THELIN$)-2):GOTO 310:ELSE GOTO 310
590 INPUT"Do you want to reformat the file (Y/N)";Y$
600 IF LEFT$(Y$,1)="Y" OR LEFT$(Y$,1)="y" THEN 610 ELSE RETURN
610 PRINT:INPUT"How many characters do you want on each line";LINLEN
620 PRINT:INPUT"Enter the FILESPEC of the new file: ",FS$
630 OPEN "I", #1, FILE$:OPEN "O", #2, FS$:OLDLIN$=""
640 LINE INPUT #1, THELIN$:IF EOF(1) THEN 820
650 IF LEFT$(THELIN$,1)="\" THEN 690
660 IF THELIN$=" " THEN 690
670 IF THELIN$=CHR$(13) THEN 690
680 GOTO 710
690 IF OLDLIN$<>"" THEN NEWLIN$=OLDLIN$:OLDLIN$="":GOSUB 800
700 NEWLIN$=THELIN$:GOSUB 800:GOTO 640
710 IF OLDLIN$<>"" AND RIGHT$(OLDLIN$,1)<>" " THEN OLDLIN$=OLDLIN$+" "
720 NEWLIN$=OLDLIN$+THELIN$:OLDLIN$=""
730 IF LEN(NEWLIN$)<LINLEN THEN OLDLIN$=NEWLIN$:GOTO 640
740 IF LEN(NEWLIN$)=LINLEN THEN OLDLIN$="":GOSUB 800:GOTO 640
750 FOR INDEX=LINLEN TO 1 STEP -1
760 IF MID$(NEWLIN$,INDEX,1)=" " THEN OLDLIN$=MID$(NEWLIN$,INDEX+1,LEN(NEWLIN$)-INDEX) ELSE 790
770 NEWLIN$=MID$(NEWLIN$,1,INDEX):GOSUB 800
780 IF LEN(OLDLIN$)<LINLEN THEN GOTO 640 ELSE NEWLIN$=OLDLIN$:OLDLIN$="":GOTO 740
790 NEXT INDEX
800 PRINT #2, NEWLIN$:PRINT NEWLIN$
810 RETURN
820 GOSUB 800:CLOSE:FILE$=FS$
830 PRINT:INPUT"Do you want to print the new file now? (Y/N) ",X$
840 IF LEFT$(X$,1)="Y" OR LEFT$(X$,1)="y" THEN RETURN 140 ELSE END
850 IF X=1 THEN LPRINT CHR$(18) CHR$(20);:WIDTH "LPT1:",80:PFACTOR=.8250001
860 IF X=2 THEN LPRINT CHR$(15);:WIDTH "LPT1:",132:PFACTOR=.5
870 RETURN
$(18) CHR$(20);:WIDTH "LPT1:",80:PFACTOR=.8250001
860 IF X=2 THEN LPRINT CHR$(15);:WIDTH "LPT1:",132